//
//  AI.h
//  Maciago
//
//  Created by mmarcos on Sat Nov 03 2001.
//  Copyright (c) 2001 __MyCompanyName__. All rights reserved.
//

#import <Foundation/Foundation.h>

#import "BoardData.h"
#import "logic.h"
#import "board_array.h"

//#define kMax YES
//#define kMin NO

@interface AI : NSObject
{

}

+(int)boardValue:(struct board_data *)data turn:(int)turn;

+(struct board_array *)makeBoards:(struct board_data *)data turn:(int)turn;

+(int)ABnegaSearch:(BoardData *)data turn:(int)turn 
	 depth:(int)depth outX:(int *)outX outY:(int *)outY;

+(int)ABnegaSearchInternal:(struct board_data *)data turn:(int)turn 
	 depth:(int)depth alpha:(int)alpha beta:(int)beta 
	 outX:(int *)outX outY:(int *)outY;

+ (BOOL) makeComputerMove:(BoardData *)data turn:(int)turn
	       level:(int)level;

+ (BOOL) makeRandomMove:(struct board_data *)data turn:(int)turn
                   outX:(int *)outX outY:(int *)outY;

@end
